#pragma once

#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
using namespace std;

class Util
{

public:
    // 输入：const &
    // 输出：*
    // 输入输出：&
    static bool StringSplit(const string &str, const string &sep, vector<std::string> *result)
    {
        size_t start = 0;
        // 10 + 20
        //"abcd efg",4-0=4 [ ),两个元素下标一减，刚好是两个元素所跨越的元素
        while (start < str.size())
        {
            auto pos = str.find(sep, start);
            if (pos == string::npos)
                break;
            result->push_back(str.substr(start, pos - start)); // 找到的一定是前闭右开区间

            // 位置的重新reload
            //  + 20
            start += pos + sep.size();
        }
        if (start < str.size())
        {
            result->push_back(str.substr(start));
        }
        return true;
    }
    static int toInt(const std::string &s)
    {
        return atoi(s.c_str());
    }
};